先import各種會用到的套件
使用sklearn的datasets套件建立要regression的資料集
pytorch做regression時,y資料的dimension需改成2,shape為(資料個數,1)
使用reshape來改變成想要的shape
對特徵值做正規畫以利訓練model
須將資料型態轉為tensor,不然pytorch寫出來的模型不會裡你
建立Dataset
建立DataLoader
建立model
設置loss function、optimizer、epoch、n_batch
critirion就是loss function,使用MSE
optimizer使用adam
epoch設置資料要訓練幾次
n_batch為dataloader的長度,也就是每一個epoch裡面能分成幾個組合
我們在dataloader時設置batch_size為100
資料集總共有1000個,所以n_batch等於1000/100=10
開始訓練
最外面的迴圈range為epoch,表示會根據epoch設計的次數來訓練資料
裡面的迴圈使用了enumerate後方參數放入data_loader,因batch_size設為100
j會從0~99(batch_size-1)
samples會獲得100(batch_size)筆特徵值資料,也就是x_data
labels會獲得100(batch_size)筆目標值資料,也就是y_data
print出的訓練過程
送上colab連結,可自行在上面多做點練習更加熟悉pytorch
https://colab.research.google.com/drive/14fN4RhEF-jIjkjuifJDYyaVLgKYRKyuV?usp=sharing